package com.android.ailaoshan.camera;

import android.os.Environment;
import android.util.Log;

import com.android.ailaoshan.camera.model.PictureInfo;
import com.android.ailaoshan.tools.ManagerRecorder;

import java.io.File;

/**
 * 图片管理
 * 图片增删查
 */
public class ManagerPicture {

    /**
     * 拍照完成后处理
     */
    public void donePicture(int RESULT_CODE,String picName){
        new Thread(
            ()->{
                Log.d("fz",picName);
                File file = new File(picName);
                if(file.exists() && file.isFile()){
                    // 拍照成功
                    if(RESULT_CODE == -1){
                        // 防止出现空文件
                        if(file.length() == 0){
                            file.delete();
                        }else{
                            addPicture(file.getName());
                        }
                    }else{
                        file.delete();
                    }
                }
                // 删除空文件
                deleteNullFile();
            }
        ).start();
    }

    /**
     * 数据库增加图片
     */
    public void addPicture(String picName){
        new Thread(
            ()->{
                // 查询未完成的记录ID
                ManagerRecorder managerRecorder = new ManagerRecorder();

                PictureInfo pictureInfo = new PictureInfo();
                pictureInfo.setrName(picName);
                pictureInfo.setrTime(System.currentTimeMillis());
                pictureInfo.setrId(managerRecorder.getUnfinishedId());

                // 获取经纬度

                pictureInfo.save();
            }
        ).start();
    }

    /**
     * 数据库删除图片
     */

    /**
     * 数据库查找图片
     */

    /**
     * 删除空文件
     */
    private void deleteNullFile(){
        new Thread(
            ()->{
                // 生成图片文件夹目录
                final String PIC_PATH = Environment.getExternalStorageDirectory().getAbsolutePath()
                        + File.separator +"AiLaoShan"+ File.separator + "Picture" +File.separator;
                File folder = new File(PIC_PATH);

                // 获取目录下所有文件
                File[] files = folder.listFiles();
                if(files != null){
                    for(File file : files){
                        // 文件大小为0，删除
                        if(file.length() == 0){
                            file.delete();
                        }
                    }
                }
            }
        ).start();
    }
}
